package com.molichuxing.services.infrastructure.service;

import com.molichuxing.framework.service.RootService;
import com.molichuxing.services.infrastructure.dto.request.create.DealerDetailCreateDto;
import com.molichuxing.services.infrastructure.dto.request.modify.DealerDetailModifyDto;
import com.molichuxing.services.infrastructure.dto.response.DealerDetailDto;

import java.util.List;
import java.util.Map;

/**
 * <p>
 * 经销商详情信息表 服务类
 * </p>
 *
 * @author zph
 * @since 2019-08-12
 */
public interface DealerDetailService extends RootService {


    /**
     * 通过id获取经销商详情信息
     *
     * @param ids
     * @return
     */
    public Map<Integer, DealerDetailDto> getDealerDetailMapByIds(List<Integer> ids) throws Exception;

    /**
     * 通过id获取经销商详情信息
     *
     * @param ids
     * @return
     * @throws Exception
     */
    public List<DealerDetailDto> getDealerDetailListByIds(List<Integer> ids) throws Exception;

    /**
     * 经销商详情添加
     *
     * @param dealerDetailCreateDto
     * @return
     */
    Integer createDealerDetail(DealerDetailCreateDto dealerDetailCreateDto) throws Exception;

    /**
     * 经销商详情修改
     *
     * @param dealerDetailModifyDto
     * @return
     */
    Boolean modifyDealerDetail(DealerDetailModifyDto dealerDetailModifyDto) throws Exception;

    /**
     * 获取经销商详情
     *
     * @param dealerId
     * @return
     * @throws Exception
     */
    DealerDetailDto getDealerDetailById(Integer dealerId) throws Exception;

    /**
     * 邮箱是否存在
     *
     * @param email
     * @return
     */
    Boolean getEmailExist(String email);

    /**
     * @return
     */
    List<DealerDetailDto> getDealerDetailList();


}
